Skip to content

Conversation

@pggb25
Copy link
Collaborator

@pggb25 pggb25 commented Dec 30, 2025

… qovery admin)

Summary

This PR allow to configure KEDA autoscaling for container and application service

Issue:

Screenshots / Recordings

Testing

  • Changes tested locally in the relevant Console's pages and Storybooks
  • yarn test or yarn test -u (if you need to regenerate snapshots)
  • yarn format
  • yarn lint

PR Checklist

  • I followed naming, styling, and TypeScript rules (see .cursor/rules)
  • I performed a self-review (diff inspected, dead code removed)
  • I titled the PR using Conventional Commits with a scope when possible (e.g. feat(service): add new Terraform service) - required for semantic-release
  • I only kept necessary comments, written in English (watch for useless AI comments)
  • I involved a designer to validate UI changes if I am not a designer
  • I covered new business logic with tests (unit)
  • I confirmed CI is green (Codecov red can be accepted)
  • I reviewed and executed locally any AI-assisted code

@RemiBonnet
Copy link
Member

Qovery Preview

Qovery can create a Preview Environment for this PR.
To trigger its creation, please post a comment with one of the following command.

Command Blueprint environment
/qovery preview cc1de7de-94e5-40f8-8e45-bc8986d9dfec storybook
/qovery preview 28c47145-c8e7-4b9d-8d9e-c65c95b48425 staging
/qovery preview {all|UUID1,UUID2,...} To preview multiple environments

This comment has been generated from Qovery AI 🤖.
Below, a word from its wisdom :

Help yourself at 2AM by putting some metrics to help observability

@codecov
Copy link

codecov bot commented Dec 31, 2025

Codecov Report

❌ Patch coverage is 34.15385% with 214 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.42%. Comparing base (b1b3137) to head (c8778bc).
⚠️ Report is 4 commits behind head on staging.

Files with missing lines Patch % Lines
...ources-feature/page-settings-resources-feature.tsx 11.42% 24 Missing and 7 partials ⚠️
...re/src/lib/keda/components/keda-scalers-fields.tsx 0.00% 28 Missing ⚠️
...src/lib/keda/components/instances-range-inputs.tsx 34.37% 17 Missing and 4 partials ⚠️
...keda/scaled-object-status/scaled-object-status.tsx 0.00% 21 Missing ⚠️
...ture/step-summary-feature/step-summary-feature.tsx 9.09% 18 Missing and 2 partials ⚠️
...ture/src/lib/keda/components/hpa-metric-fields.tsx 0.00% 19 Missing ⚠️
...tings-resources/application-settings-resources.tsx 52.63% 12 Missing and 6 partials ⚠️
...ib/keda/autoscaling-payload/autoscaling-payload.ts 69.23% 2 Missing and 14 partials ⚠️
...eature/src/lib/service-details/service-details.tsx 0.00% 10 Missing ⚠️
...cation-settings-resources/fixed-instances-mode.tsx 35.71% 4 Missing and 5 partials ⚠️
... and 8 more
Additional details and impacted files
@@             Coverage Diff             @@
##           staging    #2265      +/-   ##
===========================================
- Coverage    47.73%   47.42%   -0.32%     
===========================================
  Files         1254     1265      +11     
  Lines        22717    23317     +600     
  Branches      6635     6869     +234     
===========================================
+ Hits         10844    11057     +213     
- Misses        9808    10131     +323     
- Partials      2065     2129      +64     
Flag Coverage Δ
unittests 47.42% <34.15%> (-0.32%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pggb25 pggb25 force-pushed the feat/keda-cluster branch 10 times, most recently from 041a81e to aed396c Compare January 7, 2026 08:29
@pggb25 pggb25 force-pushed the feat/keda-cluster branch 7 times, most recently from bf0d6ba to 9d0dfd3 Compare January 14, 2026 16:54
Copy link
Member

@RemiBonnet RemiBonnet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Pierre 🙏

I added a few comments, but I think it would be better if I rewrite this part
The logic feels too complex for what are just small settings, and it currently affects some sensitive parts of the codebase. I think this logic should be isolated, as it is now, it’s hard to maintain and risky. Let’s talk about it tomorrow!

min_running_instances: number
max_running_instances: number

// Autoscaling mode selection
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have an specific interface for keda and extends this one? (you can probably extends from the api doc)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pggb25 Indeed that would be nice 🙏

@pggb25 pggb25 force-pushed the feat/keda-cluster branch 10 times, most recently from 7ec2455 to 7a94741 Compare January 16, 2026 11:35
Copy link
Member

@RemiBonnet RemiBonnet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Pierre!

I added few comments and if you can all new files inside console-shared should be in your folder keda same for new files inside the util-services 🙏

@@ -0,0 +1,88 @@
import type { ScaledObjectStatusDto } from 'qovery-ws-typescript-axios/dist/api'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import type { ScaledObjectStatusDto } from 'qovery-ws-typescript-axios/dist/api'
import type { ScaledObjectStatusDto } from 'qovery-ws-typescript-axios'

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pggb25 This comment is still relevant, could you please apply @RemiBonnet's suggestion?

@pggb25 pggb25 force-pushed the feat/keda-cluster branch 8 times, most recently from c57c64a to 900321c Compare January 21, 2026 17:31
@pggb25 pggb25 force-pushed the feat/keda-cluster branch from 900321c to 5dbde4f Compare January 22, 2026 11:03
@pggb25 pggb25 force-pushed the feat/keda-cluster branch from 5dbde4f to ddbdaa0 Compare January 26, 2026 10:09
@@ -0,0 +1,88 @@
import type { ScaledObjectStatusDto } from 'qovery-ws-typescript-axios/dist/api'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pggb25 This comment is still relevant, could you please apply @RemiBonnet's suggestion?

min_running_instances: number
max_running_instances: number

// Autoscaling mode selection
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pggb25 Indeed that would be nice 🙏

@rmnbrd rmnbrd enabled auto-merge (squash) January 26, 2026 14:42
@rmnbrd rmnbrd merged commit 69234ca into staging Jan 26, 2026
10 checks passed
@rmnbrd rmnbrd deleted the feat/keda-cluster branch January 26, 2026 14:44
@RemiBonnet
Copy link
Member

🎉 This PR is included in version 1.272.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants